#!/bin/sh
# Lanceur de Calque Studio pour Mac (Contents/MacOS/CalqueStudio).
# L'application elle-même (resources.neu) est gardée dans ~/Library/Application Support/CalqueStudio :
# le bouton « Mise à jour » y écrit la nouvelle version sans toucher à Calque Studio.app.
HERE="$(cd "$(dirname "$0")" && pwd)"
RES="$HERE/../Resources"
DATA="$HOME/Library/Application Support/CalqueStudio"

# Vrai si la version $1 est plus récente que $2
plus_recente() {
  awk -v a="$1" -v b="$2" 'BEGIN { split(a, x, "."); split(b, y, ".");
    for (i = 1; i <= 3; i++) { if (x[i] + 0 > y[i] + 0) exit 0; if (x[i] + 0 < y[i] + 0) exit 1 } exit 1 }'
}

FOURNIE="$(cat "$RES/version.txt" 2>/dev/null)"
INSTALLEE="$(cat "$DATA/version.txt" 2>/dev/null)"
if [ ! -f "$DATA/resources.neu" ] || [ -z "$INSTALLEE" ] || plus_recente "$FOURNIE" "$INSTALLEE"; then
  # Premier lancement, ou Calque Studio.app est plus récent que la dernière mise à jour installée
  if mkdir -p "$DATA" && cp "$RES/resources.neu" "$DATA/resources.neu.nouveau" && mv -f "$DATA/resources.neu.nouveau" "$DATA/resources.neu"; then
    printf '%s\n' "$FOURNIE" > "$DATA/version.txt"
  else
    DATA="$RES"
  fi
fi
# (le programme ne s'appelle pas « calquestudio » : le disque du Mac ne distingue pas les majuscules)
exec "$HERE/calquestudio-neutralino" --path="$DATA"
